package pl.rzarajczyk.breaktime.utils;

/**
 *
 * @author rafalz
 */
public interface SchedulerEvent {

    void onTick();

    void onStart();

    void onFinish();

    /**
     * Return value 0 means event means onStart() and onFinish() fire in the same second
     * @return duration of event in milliseconds
     */
    int duration();

    /**
     * Return value 0 means the event does not fire at all
     * @return interval between onFinish and onStart
     */
    int interval();
    
}
